p = theparser();

blk = [ ...
    '; ; ;', ...
    'x =# x{-1+1-1+1-1} + y{-1} + z{0} !! x=x+y+z;', ...
    'x := y{5+5} + z !! ;', ...
    'x{+0} += y{-0} + z{0} !! x{+0} =# y{+-3} + z{0};', ...
    '; ; ; ', ...
    'x + y + z;', ...
    ];

[actEqtn,actEqtnLabel,actEqtnLhs,actEqtnRhs,actEqtnSign, ...
    actSstateLhs,actSstateRhs,actSstateSign, ...
    actMaxT,actMinT] = parseeqtns(p,blk);

expEqtn = { ...
    'x =# x{-1+1-1+1-1} + y{-1} + z{0} !! x=x+y+z;', ...
    'x := y{5+5} + z !! ;', ...
    'x{+0} += y{-0} + z{0} !! x{+0} =# y{+-3} + z{0};', ...
    'x+y+z;', ...
    };
expEqtn = strrep(expEqtn,' ','');

expEqtnLabel = {'','','',''};

expEqtnLhs = { ...
    'x', ...
    'x', ...
    'x', ...
    '', ...
    };

expEqtnRhs = { ...
    'x{@-1}+y{@-1}+z', ...
    'y{@+10}+z', ...
    'y+z', ...
    'x+y+z', ...
    };

expEqtnSign = { ...
    '=#', ...
    ':=', ...
    '+=', ...
    '', ...
    };

expSstateLhs = { ...
    'x', ...
    '', ...
    'x', ...
    '', ...
    };

expSstateRhs = { ...
    'x+y+z', ...
    '', ...
    'y{@-3}+z', ...
    '', ...
    };

expSstateSign = { ...
    '=', ...
    '', ...
    '=#', ...
    '', ...
    };

expMaxT = 10;
expMinT = -3;

myassert(actEqtn,expEqtn);
myassert(actEqtnLabel,expEqtnLabel);
myassert(actEqtnLhs,expEqtnLhs);
myassert(actEqtnRhs,expEqtnRhs);
myassert(actEqtnSign,expEqtnSign);
myassert(actSstateLhs,expSstateLhs);
myassert(actSstateSign,expSstateSign);
myassert([actMaxT,actMinT],[expMaxT,expMinT]);
myassert(actSstateRhs,expSstateRhs);
